/*
 * Título: gestHora. Aplicación web de gestión de horarios para conservatorios.
 * Alumnos:
 * - Javier Pardo Muñoz. I.T. Informática de Gestión
 * - Antonio Prior Cazorla. I.T. Informática de Gestión
 * Director: Dr. José Raúl Romero Salguero.
 *     
 *  Copyright (C) 2013 Javier Pardo Muñoz / Antonio Prior Cazorla
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.

 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

function filtra(selector, cadena) {
    cadena = $.trim(cadena); 
    cadena = cadena.replace(/ /gi, '|'); 
    $(selector).each(function() {
        //Si la fila no cumple las condiciones del filtrado se añade la clase invisibleRow y si las cumple se elimina
        ($(this).text().search(new RegExp(cadena, "i")) < 0) ? $(this).hide().addClass('invisibleRow') : $(this).show().removeClass('invisibleRow');
    });
    
    //Se refresca la paginación 
    tablePaginater.init();          
}

function creaFiltrado(){
    //Se crea un evento para cada pulsación de tecla en el input #buscar
    $('#buscar').keyup(function(event) {
        //Si se presiona escape o la casilla de búsqueda está vacía
        if (event.keyCode == 27 || $(this).val() == '') {
            //Si se presiona escape se limpia la casilla
            $(this).val('');
            //Se muestran todas las filas borrando la clase invisibleRow
            $('tbody tr').show().removeClass('invisibleRow');
            //Se refresca la paginación 
            tablePaginater.init();                            
        }
        //Si hay texto se llama a la función filtro
        else {
            filtra('tbody tr', $(this).val());
        }
    });
    
    

}
